package com.papers.system.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.papers.common.core.mapper.BaseMapperPlus;
import com.papers.system.domain.TJuanMajor;
import com.papers.system.domain.dto.TJuanMajorDto;
import com.papers.system.domain.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 专业Mapper接口
 *
 * @author papers
 * @date 2022-10-08
 */
public interface TJuanMajorMapper extends BaseMapperPlus<TJuanMajorMapper, TJuanMajor, TJuanMajorVo> {

    //Page<TJuanMajorVo> getMajorByPage(Page<Object> build);

    //查询专业
    Page<TJuanMajorVo> getMajorByPage(@Param("page") Page<TJuanMajorVo> page, @Param("dto") TJuanMajorDto dto);

    //根据id查询专业
    TJuanMajorVo getVoById(@Param("id") String majorId);

    /**
     * 查询专业树
     * @param departId
     * @return
     */
    List<TJuanLeftTreeVo> getMajorTreeList(@Param("id")String departId);
    List<TJuanMajorTreeVo> getMajorTree(@Param("list")List<String> departId);
    /**
     * 导出专业（无分页查询）
     * @param
     * @return
     */
    List<TJuanMajorPutVo> OutputMajor();

    List<String> selectCodeList(@Param("id") String departId);

    List<TJuanLeftTreeListVo> getMajorTreeListVo(@Param("list") List<String> departTreeList);

    List<String> getMajorName(@Param("id") String majorId);
}
